<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSS Afterburner: BOSSOutputLoader.cxx Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">BOSS Afterburner
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('BOSSOutputLoader_8cxx_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">BOSSOutputLoader.cxx</div>  </div>
</div><!--header-->
<div class="contents">
<a href="BOSSOutputLoader_8cxx.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="BOSSOutputLoader_8h.html">File/BOSSOutputLoader.h</a>&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="String_8h.html">Functions/String.h</a>&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TerminalIO_8h.html">Functions/TerminalIO.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Settings_8h.html">Globals/Settings.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;TFile.h&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;TKey.h&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;TList.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;TObject.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;TSystemDirectory.h&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;TTree.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;float.h&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceBOSS__Afterburner.html">BOSS_Afterburner</a>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceBOSS__Afterburner_1_1String.html">BOSS_Afterburner::String</a>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a0dbbb2ddbf28d5a4db63e9849a05d05d">   23</a></span>&#160;<a class="code" href="classBOSSOutputLoader.html#a10870242930d8d48ded8bde0575a2233">BOSSOutputLoader::BOSSOutputLoader</a>(<span class="keyword">const</span> TString&amp; path, <span class="keywordtype">bool</span> print_branches, <span class="keywordtype">bool</span> print_averages) :</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  fDirectoryPath(path)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.EndsWith(<span class="stringliteral">&quot;.root&quot;</span>))</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;  {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    TFile file(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data());</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keywordflow">if</span>(file.IsZombie()) <span class="keywordflow">throw</span> <a class="code" href="namespaceBOSS__Afterburner_1_1Error.html#a612e33d4cc1271864593815cf2066367a490bac2ed20b755a96a976fbd14a3a72">BOSS_Afterburner::Error::FileStatus::IsZombie</a>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    TString fname(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>);</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keyword">auto</span>    pos = <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Last(<span class="charliteral">&#39;/&#39;</span>);</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Resize(pos);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    fname.Remove(0, pos + 1);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.push_back(fname);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  }</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.EndsWith(<span class="stringliteral">&quot;/&quot;</span>)) <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Chop();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    TSystemDirectory dir(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data(), <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data());</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">auto</span> files = dir.GetListOfFiles();</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span>(!files)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      cout &lt;&lt; <span class="stringliteral">&quot;ERROR: Directory \&quot;&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a> &lt;&lt; <span class="stringliteral">&quot;\&quot; does not exist&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keywordflow">throw</span> <a class="code" href="namespaceBOSS__Afterburner_1_1Error.html#a612e33d4cc1271864593815cf2066367a490bac2ed20b755a96a976fbd14a3a72">BOSS_Afterburner::Error::FileStatus::IsZombie</a>;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    }</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    TIter    fileIter(files);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    TObject* obj = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">while</span>((obj = fileIter()))</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">auto</span> systemFile = <span class="keyword">dynamic_cast&lt;</span>TSystemFile*<span class="keyword">&gt;</span>(obj);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keywordflow">if</span>(!systemFile) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      TString filename{systemFile-&gt;GetName()};</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keywordflow">if</span>(!filename.EndsWith(<span class="stringliteral">&quot;.root&quot;</span>)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      TString fname(systemFile-&gt;GetName());</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      TFile file((<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a> + <span class="stringliteral">&quot;/&quot;</span> + fname).Data());</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordflow">if</span>(!file.IsZombie()) <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.push_back(fname);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    }</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  }</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="classBOSSOutputLoader.html#a6e2e3f05b3ddb07c5f202f0c5cf97925">LoadChains</a>(print_branches, print_averages);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">   79</a></span>&#160;<a class="code" href="classChainLoader.html">ChainLoader</a>&amp; <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">BOSSOutputLoader::GetChainLoader</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; chainName)</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#ab8e3a82e28214764ccca58fcc53d98c4">TerminalIO::GetFromMap</a>(<a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>, chainName, <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data());</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a325eb4a68ebe6ecc7a0f8b34c7276208">   85</a></span>&#160;Long64_t <a class="code" href="classBOSSOutputLoader.html#a325eb4a68ebe6ecc7a0f8b34c7276208">BOSSOutputLoader::GetEntries</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* treeName)</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;{</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <a class="code" href="classBOSSOutputLoader.html#a9d69532766ad2d4d394c80de47c68fe6">GetChain</a>(treeName).GetEntries();</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;}</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a733e14f4d592d0d67595e71e4990105b">   91</a></span>&#160;Long64_t <a class="code" href="classBOSSOutputLoader.html#a733e14f4d592d0d67595e71e4990105b">BOSSOutputLoader::GetLargestEntries</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  Long64_t largest = 0;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.begin(); it != <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.end(); ++it)</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordflow">if</span>(it-&gt;second.GetEntries() &gt; largest) largest = it-&gt;second.GetEntries();</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordflow">return</span> largest;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;}</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a9d69532766ad2d4d394c80de47c68fe6">  100</a></span>&#160;TChain&amp; <a class="code" href="classBOSSOutputLoader.html#a9d69532766ad2d4d394c80de47c68fe6">BOSSOutputLoader::GetChain</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; treeName)</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(treeName).<a class="code" href="classChainLoader.html#a5380f239dfe2cd9e40ea1fc573fac05b">GetChain</a>();</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;}</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a72fe36425b77dd4dbfd87c93d2d1965e">  106</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classBOSSOutputLoader.html#a72fe36425b77dd4dbfd87c93d2d1965e">BOSSOutputLoader::HasChain</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; chainName)<span class="keyword"> const</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.find(chainName) == <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;}</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a807591427984893d638714c96a1479bc">  113</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classBOSSOutputLoader.html#a807591427984893d638714c96a1479bc">BOSSOutputLoader::Print</a>()</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;{</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="comment">// * Check if class has been constructed *</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keywordflow">if</span>(!<a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size())</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  {</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    cout &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;File not loaded&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">return</span>;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="comment">// * If so, print all</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  cout &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;Input path: \&quot;&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size() == 1) cout &lt;&lt; <span class="stringliteral">&quot;/&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.front();</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.size())</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  {</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;  contains &quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.size() &lt;&lt; <span class="stringliteral">&quot; TChains:&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    unordered_map&lt;string, ChainLoader&gt;::iterator it = <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.begin();</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">for</span>(; it != <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.end(); ++it)</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      TChain* chain = &amp;it-&gt;second.GetChain();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      cout &lt;&lt; <span class="stringliteral">&quot;    \&quot;&quot;</span> &lt;&lt; chain-&gt;GetName() &lt;&lt; <span class="stringliteral">&quot;\&quot;\t\&quot;&quot;</span> &lt;&lt; chain-&gt;GetTitle() &lt;&lt; <span class="stringliteral">&quot;\&quot;\t&quot;</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;           &lt;&lt; chain-&gt;GetEntries() &lt;&lt; <span class="stringliteral">&quot; entries&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    }</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  }</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;  does not contain any TChains&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  }</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  cout &lt;&lt; endl;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="comment">// * Print contents of input file</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  TFile file(<a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.front().Data());</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordflow">if</span>(file.IsZombie()) <span class="keywordflow">return</span>;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;  Output of TFile::ls():&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;  ---------------------&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  file.ls();</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  cout &lt;&lt; endl;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;}</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#ad765f5b4b8f81b3c36cfff1bbfd96261">  152</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classBOSSOutputLoader.html#a807591427984893d638714c96a1479bc">BOSSOutputLoader::Print</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nameOfTree, Option_t* option)</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;{</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  TChain* chain = &amp;<a class="code" href="classBOSSOutputLoader.html#a9d69532766ad2d4d394c80de47c68fe6">GetChain</a>(nameOfTree);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  chain-&gt;Print(option);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;------------------------------------&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;Total number of events in TTree \&quot;&quot;</span> &lt;&lt; chain-&gt;GetName() &lt;&lt; <span class="stringliteral">&quot;\&quot;: &quot;</span> &lt;&lt; scientific</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;       &lt;&lt; chain-&gt;GetEntries() &lt;&lt; endl;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  cout &lt;&lt; endl;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;}</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a338edf7defc51792b6fb191e6bc04c5c">  163</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classBOSSOutputLoader.html#a338edf7defc51792b6fb191e6bc04c5c">BOSSOutputLoader::PrintCutFlow</a>()</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;{</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keywordflow">if</span>(!<a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.size()) <span class="keywordflow">return</span>;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="keyword">auto</span> width = ceil(log10(<a class="code" href="classBOSSOutputLoader.html#a733e14f4d592d0d67595e71e4990105b">GetLargestEntries</a>()));</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  width += 2;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  width += width / 3;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keyword">auto</span> list = <a class="code" href="classBOSSOutputLoader.html#a20eeede977e8fad3ee426d9e29f1eaba">CreateOrderedMap</a>();</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  cout &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;CUT FLOW FOR \&quot;&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a> &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <span class="keywordflow">for</span>(<span class="keyword">auto</span>&amp; it : list)</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  {</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    TString chainName{it-&gt;GetChain().GetName()};</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordflow">if</span>(chainName.EqualTo(<span class="stringliteral">&quot;_cutvalues&quot;</span>)) <span class="keywordflow">continue</span>; </div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    cout &lt;&lt; right &lt;&lt; setw(width) &lt;&lt; <a class="code" href="namespaceBOSS__Afterburner_1_1String.html#ab949c7d6d53fd9f32649c54cdc12f1ad">CommaFormattedString</a>(it-&gt;GetEntries()) &lt;&lt; <span class="stringliteral">&quot;  &quot;</span> &lt;&lt; left &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;         &lt;&lt; it-&gt;GetChain().GetName() &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  }</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  cout &lt;&lt; endl;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <a class="code" href="classBOSSOutputLoader.html#a0a757c913adfb8b45acdc4da2c1914a5">PrintCuts</a>();</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;}</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a0a757c913adfb8b45acdc4da2c1914a5">  185</a></span>&#160;<a class="code" href="classTable.html">Table</a> <a class="code" href="classBOSSOutputLoader.html#a0a757c913adfb8b45acdc4da2c1914a5">BOSSOutputLoader::PrintCuts</a>(<span class="keywordtype">bool</span> print)</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;{</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">auto</span> key = <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.find(<span class="stringliteral">&quot;_cutvalues&quot;</span>);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keywordflow">if</span>(key == <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.end()) <span class="keywordflow">return</span> <a class="code" href="classTable.html">Table</a>();</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="keywordflow">if</span>(!key-&gt;second.GetEntries()) <span class="keywordflow">return</span> <a class="code" href="classTable.html">Table</a>();</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <a class="code" href="classChainLoader.html">ChainLoader</a>* chainLoader = &amp;key-&gt;second;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  TChain*      chain       = &amp;chainLoader-&gt;<a class="code" href="classChainLoader.html#a5380f239dfe2cd9e40ea1fc573fac05b">GetChain</a>();</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="keyword">enum</span> Version</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  {</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    Error,</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    Indexed,</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    CountsOnly,</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    MulptleOfThree</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  };</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  Version version = Error;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a010977dcd85834775f52dfa3195cf0db">TerminalIO::MapHasKey</a>(chainLoader-&gt;<a class="code" href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">Get</a>&lt;<span class="keywordtype">int</span>&gt;(), <span class="stringliteral">&quot;index&quot;</span>))</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    version = Indexed;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  {</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">if</span>(chainLoader-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>() == <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size())</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      version = CountsOnly;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(chainLoader-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>() % 3 == 0)</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      version = MulptleOfThree;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  }</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keywordflow">if</span>(version == Error) <span class="keywordflow">return</span> <a class="code" href="classTable.html">Table</a>();</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <a class="code" href="classTable.html">Table</a>    table;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  TIter    next(chain-&gt;GetListOfBranches());</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  TObject* obj = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="keywordflow">while</span>(obj = next())</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  {</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">string</span> branchName{obj-&gt;GetName()};</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordflow">if</span>(!branchName.compare(<span class="stringliteral">&quot;index&quot;</span>)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <a class="code" href="structTableRow.html">TableRow</a> row;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a> = 0;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>      = branchName;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">switch</span>(version)</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    {</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;      <span class="keywordflow">case</span> Indexed:</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keywordtype">double</span> <a class="code" href="namespacevalues.html">values</a>[3];</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keyword">auto</span>   res = chain-&gt;SetBranchAddress(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>.c_str(), &amp;values);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keywordflow">if</span>(res)</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        {</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;          std::cout &lt;&lt; <span class="stringliteral">&quot;ERROR: failed to load \&quot;&quot;</span> &lt;&lt; row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a> &lt;&lt; <span class="stringliteral">&quot;\&quot; in branch \&quot;_cutvalues\&quot;&quot;</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                    &lt;&lt; endl;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;          std::cout &lt;&lt; <span class="stringliteral">&quot;  --&gt;&gt; SetBranchAddress returned &quot;</span> &lt;&lt; res &lt;&lt; endl;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;          <span class="keywordflow">return</span> <a class="code" href="classTable.html">Table</a>();</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        }</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; chainLoader-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>(); ++i)</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        {</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;          chainLoader-&gt;<a class="code" href="classChainLoader.html#a07acf5a3377334537a9417da4edf423d">GetEntry</a>(i);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;          row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a> += values[2]; <span class="comment">// total per file</span></div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        }</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        chain-&gt;GetEntry(0);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">if</span>(values[0] &lt; -0.9 * DBL_MAX)</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;          row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(std::string());</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;          row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(values[0]); <span class="comment">// min</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keywordflow">if</span>(values[1] &gt; 0.9 * DBL_MAX)</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;          row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(std::string());</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;          row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(values[1]);            <span class="comment">// max</span></div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        row.<a class="code" href="structTableRow.html#a1e52cbd62bb4cfa5aab8b04ad9466b5b">AddCellFormatted</a>(row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a>); <span class="comment">// count</span></div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="comment"></span>        chain-&gt;ResetBranchAddress(chain-&gt;GetBranch(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>.c_str()));</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;      }</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;      <span class="keywordflow">case</span> CountsOnly:</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; chainLoader-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>(); ++i)</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        {</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;          chainLoader-&gt;<a class="code" href="classChainLoader.html#a07acf5a3377334537a9417da4edf423d">GetEntry</a>(i);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;          <span class="keywordflow">try</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;          {</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;            row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a> += chainLoader-&gt;<a class="code" href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">Get</a>&lt;<span class="keywordtype">double</span>&gt;(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;          }</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;          <span class="keywordflow">catch</span>(<span class="keyword">const</span> out_of_range&amp; e)</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;          {</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;            row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a> += chainLoader-&gt;<a class="code" href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">Get</a>&lt;<span class="keywordtype">int</span>&gt;(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;          }</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        }</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        row.<a class="code" href="structTableRow.html#a1e52cbd62bb4cfa5aab8b04ad9466b5b">AddCellFormatted</a>(row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a>);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;      <span class="keywordflow">case</span> MulptleOfThree:</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;      {</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        chainLoader-&gt;<a class="code" href="classChainLoader.html#a07acf5a3377334537a9417da4edf423d">GetEntry</a>(0);</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(chainLoader-&gt;<a class="code" href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">Get</a>&lt;<span class="keywordtype">double</span>&gt;(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>));</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        chainLoader-&gt;<a class="code" href="classChainLoader.html#a07acf5a3377334537a9417da4edf423d">GetEntry</a>(1);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        row.<a class="code" href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">AddCell</a>(chainLoader-&gt;<a class="code" href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">Get</a>&lt;<span class="keywordtype">double</span>&gt;(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>));</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a> = 0;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        <span class="keywordflow">for</span>(Long64_t i = 2; i &lt; chainLoader-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>(); i += 3)</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        {</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;          chainLoader-&gt;<a class="code" href="classChainLoader.html#a07acf5a3377334537a9417da4edf423d">GetEntry</a>(i);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;          row.<a class="code" href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">SortValue</a> += chainLoader-&gt;<a class="code" href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">Get</a>&lt;<span class="keywordtype">double</span>&gt;(row.<a class="code" href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">Name</a>);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        }</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;      }</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    }</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    table.<a class="code" href="classTable.html#ae3957828a47b7816ed09d6a309ca9afd">AddRow</a>(row);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  }</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keywordflow">switch</span>(version)</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  {</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordflow">case</span> Indexed:</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">case</span> MulptleOfThree:</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;      table.<a class="code" href="classTable.html#ac90e7a1bf7e0698ef4a972c919f24c11">SetHeader</a>({<span class="stringliteral">&quot;CUT NAME&quot;</span>, <span class="stringliteral">&quot;MIN&quot;</span>, <span class="stringliteral">&quot;MAX&quot;</span>, <span class="stringliteral">&quot;TOTAL&quot;</span>});</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      table.<a class="code" href="classTable.html#a3f36c6ea8c14429e5568b07baf7d35c0">SetAlign</a>(1, <a class="code" href="structTableColumn.html#af55c7630d082b9ea35b448113f5581efa01a6d598d69f0f31f2fb5d8b44be08c4">TableColumn::Internal</a>);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;      table.<a class="code" href="classTable.html#a3f36c6ea8c14429e5568b07baf7d35c0">SetAlign</a>(2, <a class="code" href="structTableColumn.html#af55c7630d082b9ea35b448113f5581efa01a6d598d69f0f31f2fb5d8b44be08c4">TableColumn::Internal</a>);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;      table.<a class="code" href="classTable.html#a3f36c6ea8c14429e5568b07baf7d35c0">SetAlign</a>(3, <a class="code" href="structTableColumn.html#af55c7630d082b9ea35b448113f5581efaeae60c752044afe4b126bf7a06117499">TableColumn::Right</a>);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;      <span class="keywordflow">break</span>;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">case</span> CountsOnly:</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;      table.<a class="code" href="classTable.html#ac90e7a1bf7e0698ef4a972c919f24c11">SetHeader</a>({<span class="stringliteral">&quot;CUT NAME&quot;</span>, <span class="stringliteral">&quot;TOTAL&quot;</span>});</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;      table.<a class="code" href="classTable.html#a3f36c6ea8c14429e5568b07baf7d35c0">SetAlign</a>(1, <a class="code" href="structTableColumn.html#af55c7630d082b9ea35b448113f5581efaeae60c752044afe4b126bf7a06117499">TableColumn::Right</a>);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;      <span class="keywordflow">break</span>;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  }</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  table.<a class="code" href="classTable.html#a1f534873c0ea47d2838ebd2e4ea97326">Sort</a>();</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  <span class="keywordflow">if</span>(print) table.<a class="code" href="classTable.html#ae3de0942544bcda38e54ccbd9429d29c">Print</a>();</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  chain-&gt;ResetBranchAddresses();</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <span class="keywordflow">return</span> table;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;}</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">  335</a></span>&#160;TH1F* <a class="code" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">BOSSOutputLoader::Draw</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* treeName, <span class="keyword">const</span> <span class="keywordtype">char</span>* branchX, <span class="keyword">const</span> Int_t nBinx,</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                             <span class="keyword">const</span> <span class="keywordtype">double</span> x1, <span class="keyword">const</span> <span class="keywordtype">double</span> x2, Option_t* option,</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;                             <span class="keyword">const</span> TString&amp; logScale, <span class="keyword">const</span> <span class="keywordtype">char</span>* cut)</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(treeName).<a class="code" href="classChainLoader.html#a8831d77ec57d390d0a3a0eec23b56c4a">Draw</a>(branchX, nBinx, x1, x2, option, <span class="keyword">true</span>, logScale, cut);</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;}</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a21a8dfa6f931309f2a299be7eaa70896">  343</a></span>&#160;TH2F* <a class="code" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">BOSSOutputLoader::Draw</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* treeName, <span class="keyword">const</span> <span class="keywordtype">char</span>* branchX, <span class="keyword">const</span> <span class="keywordtype">char</span>* branchY,</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                             <span class="keyword">const</span> Int_t nBinx, <span class="keyword">const</span> <span class="keywordtype">double</span> x1, <span class="keyword">const</span> <span class="keywordtype">double</span> x2, <span class="keyword">const</span> Int_t nBiny,</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                             <span class="keyword">const</span> <span class="keywordtype">double</span> y1, <span class="keyword">const</span> <span class="keywordtype">double</span> y2, Option_t* option,</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                             <span class="keyword">const</span> TString&amp; logScale, <span class="keyword">const</span> <span class="keywordtype">char</span>* cut)</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;{</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(treeName).<a class="code" href="classChainLoader.html#a8831d77ec57d390d0a3a0eec23b56c4a">Draw</a>(branchX, branchY, nBinx, x1, x2, nBiny, y1, y2, option, <span class="keyword">true</span>,</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                                       logScale, cut);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;}</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a5c15cb54f33733a2c67c3c4ecf7b7839">  353</a></span>&#160;TH1* <a class="code" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">BOSSOutputLoader::Draw</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* treeName, <span class="keyword">const</span> <span class="keywordtype">char</span>* varexp, <span class="keyword">const</span> <span class="keywordtype">char</span>* cut,</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                            Option_t* option, <span class="keyword">const</span> TString&amp; logScale)</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;{</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(treeName).<a class="code" href="classChainLoader.html#a8831d77ec57d390d0a3a0eec23b56c4a">Draw</a>(varexp, cut, option, <span class="keyword">true</span>, logScale);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;}</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a85fd5d2940a35b455723161299785d76">  360</a></span>&#160;TH1* <a class="code" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">BOSSOutputLoader::Draw</a>(<span class="keyword">const</span> <a class="code" href="classBranchPlotOptions.html">BranchPlotOptions</a>&amp; options)</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;{</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  <span class="keywordflow">if</span>(!options.<a class="code" href="classBranchPlotOptions.html#a23a50fd16277d30ac7dcfc945d8b4d57">IsOK</a>()) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="keywordflow">if</span>(!<a class="code" href="classBOSSOutputLoader.html#a72fe36425b77dd4dbfd87c93d2d1965e">HasChain</a>(options.<a class="code" href="classBranchPlotOptions.html#af4ef223a07854e3a6eb51c6e399cccb7">TreeName</a>()))</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a8751ac933668364ed8a9194561a2d649">TerminalIO::PrintWarning</a>(Form(<span class="stringliteral">&quot;Cannot draw non-existing branch \&quot;%s\&quot; in file \&quot;%s\&quot;&quot;</span>,</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;                                  options.<a class="code" href="classBranchPlotOptions.html#af4ef223a07854e3a6eb51c6e399cccb7">TreeName</a>(), <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data()));</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  }</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(options.<a class="code" href="classBranchPlotOptions.html#af4ef223a07854e3a6eb51c6e399cccb7">TreeName</a>()).<a class="code" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">Draw</a>(options);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;}</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a25289bafb33d3c18d2d7a6217df3714d">  373</a></span>&#160;TH1* <a class="code" href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">BOSSOutputLoader::Draw</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* tree, <span class="keyword">const</span> YAML::Node&amp; input)</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;{</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;  <span class="keywordflow">if</span>(!tree) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;  <span class="keywordflow">if</span>(!input) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  <span class="keywordflow">if</span>(!<a class="code" href="classBOSSOutputLoader.html#a72fe36425b77dd4dbfd87c93d2d1965e">HasChain</a>(tree))</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  {</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a8751ac933668364ed8a9194561a2d649">TerminalIO::PrintWarning</a>(</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;      Form(<span class="stringliteral">&quot;Cannot draw non-existing branch \&quot;%s\&quot; in file \&quot;%s\&quot;&quot;</span>, tree, <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data()));</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  }</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(tree).<a class="code" href="classChainLoader.html#a8831d77ec57d390d0a3a0eec23b56c4a">Draw</a>(input, tree);</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;}</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#afc863db0f96ba89c94892e772fa18b6a">  387</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classBOSSOutputLoader.html#afc863db0f96ba89c94892e772fa18b6a">BOSSOutputLoader::DrawAndSaveAllBranches</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* treeName, Option_t* option,</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                                              <span class="keyword">const</span> TString&amp; logScale)</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;{</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  <a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(treeName).<a class="code" href="classChainLoader.html#abc9762fc07c51196df16f437342a13ef">DrawAndSaveAllBranches</a>(option, logScale);</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;}</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a5b0aaf2ebe76331ec2344954d62829ae">  394</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classBOSSOutputLoader.html#a5b0aaf2ebe76331ec2344954d62829ae">BOSSOutputLoader::QuickDrawAndSaveAll</a>(Option_t* option)</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;{</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.begin(); it != <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.end(); ++it)</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    it-&gt;second.DrawAndSaveAllBranches(option);</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;}</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a20eeede977e8fad3ee426d9e29f1eaba">  401</a></span>&#160;list&lt;ChainLoader*&gt; <a class="code" href="classBOSSOutputLoader.html#a20eeede977e8fad3ee426d9e29f1eaba">BOSSOutputLoader::CreateOrderedMap</a>()</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;{</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;  <span class="comment">// * Create list of pointers to `ChainLoader` * //</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  list&lt;ChainLoader*&gt; outputList;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.begin(); it != <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.end(); ++it)</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;  {</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    TString name(it-&gt;second.GetChain().GetName());</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="comment">// if(!name.EqualTo(&quot;_cutvalues&quot;))</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    outputList.push_back(&amp;(it-&gt;second));</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;  }</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;  <span class="comment">// * Sort resulting list based on number of entries * //</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;  outputList.sort([](<a class="code" href="classChainLoader.html">ChainLoader</a>* <span class="keyword">const</span>&amp; a, <a class="code" href="classChainLoader.html">ChainLoader</a>* <span class="keyword">const</span>&amp; b) {</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <span class="keywordtype">string</span> nameA(a-&gt;<a class="code" href="classChainLoader.html#a5380f239dfe2cd9e40ea1fc573fac05b">GetChain</a>().GetName());</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="keywordtype">string</span> nameB(b-&gt;<a class="code" href="classChainLoader.html#a5380f239dfe2cd9e40ea1fc573fac05b">GetChain</a>().GetName());</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keywordflow">return</span> a-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>() != b-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>() ? a-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>() &gt; b-&gt;<a class="code" href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">GetEntries</a>() : nameA &lt; nameB;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;  });</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;  <span class="keywordflow">return</span> outputList;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;}</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classBOSSOutputLoader.html#a6e2e3f05b3ddb07c5f202f0c5cf97925">  422</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classBOSSOutputLoader.html#a6e2e3f05b3ddb07c5f202f0c5cf97925">BOSSOutputLoader::LoadChains</a>(<span class="keywordtype">bool</span> print_branches, <span class="keywordtype">bool</span> print_averages)</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;{</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  <span class="keywordflow">if</span>(!<a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size())</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;  {</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;ERROR: List of file names is empty!&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;--&gt; There were no valid ROOT files in directory \&quot;&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a> &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  }</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  TString fileToLoad(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a> + <span class="stringliteral">&quot;/&quot;</span> + <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.front());</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;  TFile   file(fileToLoad.Data());</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="keywordflow">if</span>(file.IsZombie()) { cout &lt;&lt; <span class="stringliteral">&quot;ERROR: File \&quot;&quot;</span> &lt;&lt; fileToLoad &lt;&lt; <span class="stringliteral">&quot;\&quot; is zombie&quot;</span> &lt;&lt; endl; }</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  TIter    next(file.GetListOfKeys());</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  TObject* obj  = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  TKey*    key  = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  TTree*   tree = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <span class="keywordflow">while</span>((obj = next()))</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;  {</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordflow">if</span>(!(key = dynamic_cast&lt;TKey*&gt;(obj))) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="keywordflow">if</span>(!(tree = dynamic_cast&lt;TTree*&gt;(key-&gt;ReadObj()))) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.emplace(tree-&gt;GetName(), tree);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keyword">auto</span> chain = &amp;<a class="code" href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">GetChainLoader</a>(tree-&gt;GetName());</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">auto</span> filename : <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>)</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;      chain-&gt;<a class="code" href="classChainLoader.html#a99e64bd5923f4a9694add278e34ba6d1">Add</a>(<a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a> + <span class="stringliteral">&quot;/&quot;</span> + filename);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    chain-&gt;BookAddresses(print_branches, print_averages);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  }</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;Created a map of &quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">fChains</a>.size() &lt;&lt; <span class="stringliteral">&quot; TChains from &quot;</span>;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size() &gt; 1) cout &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size() &lt;&lt; <span class="stringliteral">&quot; files in &quot;</span>;</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;input path \&quot;&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">fDirectoryPath</a>.Data();</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.size() == 1) cout &lt;&lt; <span class="stringliteral">&quot;/&quot;</span> &lt;&lt; <a class="code" href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">fFileNames</a>.front(); <span class="comment">// in case of one file</span></div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;}</div><div class="ttc" id="classBOSSOutputLoader_html_aa606084dd00882bf3d3c6df65bf030e1"><div class="ttname"><a href="classBOSSOutputLoader.html#aa606084dd00882bf3d3c6df65bf030e1">BOSSOutputLoader::fDirectoryPath</a></div><div class="ttdeci">TString fDirectoryPath</div><div class="ttdoc">The path of the directory that was was used to load the ROOT files and generate the TChains in this o...</div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8h_source.html#l00075">BOSSOutputLoader.h:75</a></div></div>
<div class="ttc" id="classTable_html_a1f534873c0ea47d2838ebd2e4ea97326"><div class="ttname"><a href="classTable.html#a1f534873c0ea47d2838ebd2e4ea97326">Table::Sort</a></div><div class="ttdeci">void Sort()</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8cxx_source.html#l00031">PrintTable.cxx:31</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1TerminalIO_html_a8751ac933668364ed8a9194561a2d649"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a8751ac933668364ed8a9194561a2d649">BOSS_Afterburner::TerminalIO::PrintWarning</a></div><div class="ttdeci">void PrintWarning(const TString &amp;message)</div><div class="ttdoc">Print a warning message in yellow. </div><div class="ttdef"><b>Definition:</b> <a href="TerminalIO_8cxx_source.html#l00034">TerminalIO.cxx:34</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a733e14f4d592d0d67595e71e4990105b"><div class="ttname"><a href="classBOSSOutputLoader.html#a733e14f4d592d0d67595e71e4990105b">BOSSOutputLoader::GetLargestEntries</a></div><div class="ttdeci">Long64_t GetLargestEntries() const</div><div class="ttdoc">Return the largest number of events in all of the TChains in the loaded ROOT file. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00091">BOSSOutputLoader.cxx:91</a></div></div>
<div class="ttc" id="structTableColumn_html_af55c7630d082b9ea35b448113f5581efaeae60c752044afe4b126bf7a06117499"><div class="ttname"><a href="structTableColumn.html#af55c7630d082b9ea35b448113f5581efaeae60c752044afe4b126bf7a06117499">TableColumn::Right</a></div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00019">PrintTable.h:19</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a807591427984893d638714c96a1479bc"><div class="ttname"><a href="classBOSSOutputLoader.html#a807591427984893d638714c96a1479bc">BOSSOutputLoader::Print</a></div><div class="ttdeci">void Print()</div><div class="ttdoc">Print information about all trees in the TFile. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00113">BOSSOutputLoader.cxx:113</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a6e2e3f05b3ddb07c5f202f0c5cf97925"><div class="ttname"><a href="classBOSSOutputLoader.html#a6e2e3f05b3ddb07c5f202f0c5cf97925">BOSSOutputLoader::LoadChains</a></div><div class="ttdeci">void LoadChains(bool print_branches=true, bool print_averages=false)</div><div class="ttdoc">Create a list of TChains based on the files in the directory you are loading. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00422">BOSSOutputLoader.cxx:422</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a5b0aaf2ebe76331ec2344954d62829ae"><div class="ttname"><a href="classBOSSOutputLoader.html#a5b0aaf2ebe76331ec2344954d62829ae">BOSSOutputLoader::QuickDrawAndSaveAll</a></div><div class="ttdeci">void QuickDrawAndSaveAll(Option_t *option=&quot;&quot;)</div><div class="ttdoc">Draw the distributions of all branches available in the ROOT file. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00394">BOSSOutputLoader.cxx:394</a></div></div>
<div class="ttc" id="classChainLoader_html_a8831d77ec57d390d0a3a0eec23b56c4a"><div class="ttname"><a href="classChainLoader.html#a8831d77ec57d390d0a3a0eec23b56c4a">ChainLoader::Draw</a></div><div class="ttdeci">TH2F * Draw(const char *branchX, const char *branchY, const Int_t nBinx, const double x1, const double x2, const Int_t nBiny, const double y1, const double y2, Option_t *option=&quot;&quot;, const bool save=true, const TString &amp;logScale=&quot;&quot;, const char *cut=&quot;&quot;)</div><div class="ttdoc">Draw a distribution of one of the branches in the file. </div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8cxx_source.html#l00129">ChainLoader.cxx:129</a></div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
<div class="ttc" id="classChainLoader_html_a07acf5a3377334537a9417da4edf423d"><div class="ttname"><a href="classChainLoader.html#a07acf5a3377334537a9417da4edf423d">ChainLoader::GetEntry</a></div><div class="ttdeci">Int_t GetEntry(Long64_t entry=0, Int_t getall=0)</div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8h_source.html#l00035">ChainLoader.h:35</a></div></div>
<div class="ttc" id="structTableRow_html_a1e52cbd62bb4cfa5aab8b04ad9466b5b"><div class="ttname"><a href="structTableRow.html#a1e52cbd62bb4cfa5aab8b04ad9466b5b">TableRow::AddCellFormatted</a></div><div class="ttdeci">void AddCellFormatted(T val)</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00090">PrintTable.h:90</a></div></div>
<div class="ttc" id="structTableColumn_html_af55c7630d082b9ea35b448113f5581efa01a6d598d69f0f31f2fb5d8b44be08c4"><div class="ttname"><a href="structTableColumn.html#af55c7630d082b9ea35b448113f5581efa01a6d598d69f0f31f2fb5d8b44be08c4">TableColumn::Internal</a></div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00020">PrintTable.h:20</a></div></div>
<div class="ttc" id="classBranchPlotOptions_html_a23a50fd16277d30ac7dcfc945d8b4d57"><div class="ttname"><a href="classBranchPlotOptions.html#a23a50fd16277d30ac7dcfc945d8b4d57">BranchPlotOptions::IsOK</a></div><div class="ttdeci">bool IsOK() const</div><div class="ttdef"><b>Definition:</b> <a href="BranchPlotOptions_8cxx_source.html#l00270">BranchPlotOptions.cxx:270</a></div></div>
<div class="ttc" id="classTable_html_a3f36c6ea8c14429e5568b07baf7d35c0"><div class="ttname"><a href="classTable.html#a3f36c6ea8c14429e5568b07baf7d35c0">Table::SetAlign</a></div><div class="ttdeci">void SetAlign(std::vector&lt; TableColumn::EAlign &gt; v)</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8cxx_source.html#l00043">PrintTable.cxx:43</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a9d69532766ad2d4d394c80de47c68fe6"><div class="ttname"><a href="classBOSSOutputLoader.html#a9d69532766ad2d4d394c80de47c68fe6">BOSSOutputLoader::GetChain</a></div><div class="ttdeci">TChain &amp; GetChain(const std::string &amp;chainName)</div><div class="ttdoc">Look for a tree in the files and get its TChain. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00100">BOSSOutputLoader.cxx:100</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a47206d882287c355c265687c93b34861"><div class="ttname"><a href="classBOSSOutputLoader.html#a47206d882287c355c265687c93b34861">BOSSOutputLoader::Draw</a></div><div class="ttdeci">TH1F * Draw(const char *chainName, const char *branchX, const Int_t nBinx, const double x1, const double x2, Option_t *option=&quot;&quot;, const TString &amp;logScale=&quot;&quot;, const char *cut=&quot;&quot;)</div><div class="ttdoc">Draw the distributions of all branches available in the ROOT file. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00335">BOSSOutputLoader.cxx:335</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1TerminalIO_html_a010977dcd85834775f52dfa3195cf0db"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a010977dcd85834775f52dfa3195cf0db">BOSS_Afterburner::TerminalIO::MapHasKey</a></div><div class="ttdeci">bool MapHasKey(std::unordered_map&lt; std::string, TYPE &gt; &amp;map, const std::string &amp;key)</div><div class="ttdoc">Returns true if map has a certain key, and returns false if not`. </div><div class="ttdef"><b>Definition:</b> <a href="TerminalIO_8h_source.html#l00055">TerminalIO.h:55</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_html"><div class="ttname"><a href="namespaceBOSS__Afterburner.html">BOSS_Afterburner</a></div><div class="ttdoc">Header with a namespace Settings that contains all settings for the analysis framework. </div><div class="ttdef"><b>Definition:</b> <a href="Draw_8h_source.html#l00017">Draw.h:17</a></div></div>
<div class="ttc" id="classTable_html_ac90e7a1bf7e0698ef4a972c919f24c11"><div class="ttname"><a href="classTable.html#ac90e7a1bf7e0698ef4a972c919f24c11">Table::SetHeader</a></div><div class="ttdeci">void SetHeader(std::vector&lt; std::string &gt; v)</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8cxx_source.html#l00049">PrintTable.cxx:49</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1TerminalIO_html_ab8e3a82e28214764ccca58fcc53d98c4"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1TerminalIO.html#ab8e3a82e28214764ccca58fcc53d98c4">BOSS_Afterburner::TerminalIO::GetFromMap</a></div><div class="ttdeci">TYPE &amp; GetFromMap(std::unordered_map&lt; std::string, TYPE &gt; &amp;map, const std::string &amp;key, const std::string &amp;mapName=&quot;&quot;)</div><div class="ttdoc">Construction to try and catch an exception that comes from map::at. </div><div class="ttdef"><b>Definition:</b> <a href="TerminalIO_8h_source.html#l00034">TerminalIO.h:34</a></div></div>
<div class="ttc" id="classChainLoader_html_a216733d576cb3b284d010411fd5e9c6f"><div class="ttname"><a href="classChainLoader.html#a216733d576cb3b284d010411fd5e9c6f">ChainLoader::Get</a></div><div class="ttdeci">std::unordered_map&lt; std::string, TYPE &gt; &amp; Get()</div><div class="ttdoc">Get mapping of branches for a certaine typename (specified through template specialisation). </div></div>
<div class="ttc" id="classChainLoader_html_a5380f239dfe2cd9e40ea1fc573fac05b"><div class="ttname"><a href="classChainLoader.html#a5380f239dfe2cd9e40ea1fc573fac05b">ChainLoader::GetChain</a></div><div class="ttdeci">TChain &amp; GetChain()</div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8h_source.html#l00033">ChainLoader.h:33</a></div></div>
<div class="ttc" id="classChainLoader_html_a26982272e4466ed77b8e9d35058172b5"><div class="ttname"><a href="classChainLoader.html#a26982272e4466ed77b8e9d35058172b5">ChainLoader::GetEntries</a></div><div class="ttdeci">Long64_t GetEntries() const</div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8h_source.html#l00034">ChainLoader.h:34</a></div></div>
<div class="ttc" id="classBranchPlotOptions_html_af4ef223a07854e3a6eb51c6e399cccb7"><div class="ttname"><a href="classBranchPlotOptions.html#af4ef223a07854e3a6eb51c6e399cccb7">BranchPlotOptions::TreeName</a></div><div class="ttdeci">const char * TreeName() const</div><div class="ttdef"><b>Definition:</b> <a href="BranchPlotOptions_8h_source.html#l00051">BranchPlotOptions.h:51</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a6d05057e51efd2e106695b66c7e13f69"><div class="ttname"><a href="classBOSSOutputLoader.html#a6d05057e51efd2e106695b66c7e13f69">BOSSOutputLoader::fFileNames</a></div><div class="ttdeci">std::list&lt; TString &gt; fFileNames</div><div class="ttdoc">List of filenames that were loaded from the directory. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8h_source.html#l00077">BOSSOutputLoader.h:77</a></div></div>
<div class="ttc" id="classChainLoader_html_a99e64bd5923f4a9694add278e34ba6d1"><div class="ttname"><a href="classChainLoader.html#a99e64bd5923f4a9694add278e34ba6d1">ChainLoader::Add</a></div><div class="ttdeci">Int_t Add(const char *filename)</div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8h_source.html#l00050">ChainLoader.h:50</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a338edf7defc51792b6fb191e6bc04c5c"><div class="ttname"><a href="classBOSSOutputLoader.html#a338edf7defc51792b6fb191e6bc04c5c">BOSSOutputLoader::PrintCutFlow</a></div><div class="ttdeci">void PrintCutFlow()</div><div class="ttdoc">Method that prints the number of entries of each TChain in the ROOT file. This allows you to get an i...</div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00163">BOSSOutputLoader.cxx:163</a></div></div>
<div class="ttc" id="Settings_8h_html"><div class="ttname"><a href="Settings_8h.html">Settings.h</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a325eb4a68ebe6ecc7a0f8b34c7276208"><div class="ttname"><a href="classBOSSOutputLoader.html#a325eb4a68ebe6ecc7a0f8b34c7276208">BOSSOutputLoader::GetEntries</a></div><div class="ttdeci">Long64_t GetEntries(const char *chainName)</div><div class="ttdoc">Get the number of events in one of the TChains. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00085">BOSSOutputLoader.cxx:85</a></div></div>
<div class="ttc" id="structTableRow_html"><div class="ttname"><a href="structTableRow.html">TableRow</a></div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00026">PrintTable.h:26</a></div></div>
<div class="ttc" id="classBranchPlotOptions_html"><div class="ttname"><a href="classBranchPlotOptions.html">BranchPlotOptions</a></div><div class="ttdoc">This object is used as a container of information you need to plot a branch or a collection of branch...</div><div class="ttdef"><b>Definition:</b> <a href="BranchPlotOptions_8h_source.html#l00019">BranchPlotOptions.h:19</a></div></div>
<div class="ttc" id="classTable_html_ae3de0942544bcda38e54ccbd9429d29c"><div class="ttname"><a href="classTable.html#ae3de0942544bcda38e54ccbd9429d29c">Table::Print</a></div><div class="ttdeci">void Print() const</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8cxx_source.html#l00064">PrintTable.cxx:64</a></div></div>
<div class="ttc" id="TerminalIO_8h_html"><div class="ttname"><a href="TerminalIO_8h.html">TerminalIO.h</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a9c60d59cd8bd7de265628ea498e3ea71"><div class="ttname"><a href="classBOSSOutputLoader.html#a9c60d59cd8bd7de265628ea498e3ea71">BOSSOutputLoader::GetChainLoader</a></div><div class="ttdeci">ChainLoader &amp; GetChainLoader(const std::string &amp;chainName)</div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00079">BOSSOutputLoader.cxx:79</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a0a757c913adfb8b45acdc4da2c1914a5"><div class="ttname"><a href="classBOSSOutputLoader.html#a0a757c913adfb8b45acdc4da2c1914a5">BOSSOutputLoader::PrintCuts</a></div><div class="ttdeci">Table PrintCuts(bool print=true)</div><div class="ttdoc">This function creates a list of TableEntrys from the &quot;_cutvalues&quot; branch which is then printed...</div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00185">BOSSOutputLoader.cxx:185</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a20eeede977e8fad3ee426d9e29f1eaba"><div class="ttname"><a href="classBOSSOutputLoader.html#a20eeede977e8fad3ee426d9e29f1eaba">BOSSOutputLoader::CreateOrderedMap</a></div><div class="ttdeci">std::list&lt; ChainLoader * &gt; CreateOrderedMap()</div><div class="ttdoc">Create a list that is ordered by the number of entries in the TChain. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00401">BOSSOutputLoader.cxx:401</a></div></div>
<div class="ttc" id="classTable_html_ae3957828a47b7816ed09d6a309ca9afd"><div class="ttname"><a href="classTable.html#ae3957828a47b7816ed09d6a309ca9afd">Table::AddRow</a></div><div class="ttdeci">void AddRow(const TableRow &amp;row)</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8cxx_source.html#l00235">PrintTable.cxx:235</a></div></div>
<div class="ttc" id="namespacevalues_html"><div class="ttname"><a href="namespacevalues.html">values</a></div><div class="ttdef"><b>Definition:</b> <a href="DrawArgusShapes_8C_source.html#l00013">DrawArgusShapes.C:13</a></div></div>
<div class="ttc" id="structTableRow_html_a48e5b2e0115be572f0ac38dc5b286b70"><div class="ttname"><a href="structTableRow.html#a48e5b2e0115be572f0ac38dc5b286b70">TableRow::AddCell</a></div><div class="ttdeci">void AddCell(T val)</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00082">PrintTable.h:82</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a10870242930d8d48ded8bde0575a2233"><div class="ttname"><a href="classBOSSOutputLoader.html#a10870242930d8d48ded8bde0575a2233">BOSSOutputLoader::BOSSOutputLoader</a></div><div class="ttdeci">BOSSOutputLoader()</div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8h_source.html#l00028">BOSSOutputLoader.h:28</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a72fe36425b77dd4dbfd87c93d2d1965e"><div class="ttname"><a href="classBOSSOutputLoader.html#a72fe36425b77dd4dbfd87c93d2d1965e">BOSSOutputLoader::HasChain</a></div><div class="ttdeci">const bool HasChain(const std::string &amp;chainName) const</div><div class="ttdoc">Check if file has chain with name chainName. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00106">BOSSOutputLoader.cxx:106</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1String_html_ab949c7d6d53fd9f32649c54cdc12f1ad"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1String.html#ab949c7d6d53fd9f32649c54cdc12f1ad">BOSS_Afterburner::String::CommaFormattedString</a></div><div class="ttdeci">std::string CommaFormattedString(TYPE number)</div><div class="ttdoc">Create a string from a number that has a number between each 3 digits. </div><div class="ttdef"><b>Definition:</b> <a href="String_8h_source.html#l00034">String.h:34</a></div></div>
<div class="ttc" id="classTable_html"><div class="ttname"><a href="classTable.html">Table</a></div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00052">PrintTable.h:52</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1Error_html_a612e33d4cc1271864593815cf2066367a490bac2ed20b755a96a976fbd14a3a72"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1Error.html#a612e33d4cc1271864593815cf2066367a490bac2ed20b755a96a976fbd14a3a72">BOSS_Afterburner::Error::IsZombie</a></div><div class="ttdef"><b>Definition:</b> <a href="Settings_8h_source.html#l00089">Settings.h:89</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1String_html"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1String.html">BOSS_Afterburner::String</a></div><div class="ttdef"><b>Definition:</b> <a href="String_8h_source.html#l00015">String.h:15</a></div></div>
<div class="ttc" id="structTableRow_html_a4ca883cfa2d1f16a920bbab4fe21991d"><div class="ttname"><a href="structTableRow.html#a4ca883cfa2d1f16a920bbab4fe21991d">TableRow::SortValue</a></div><div class="ttdeci">Long64_t SortValue</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00029">PrintTable.h:29</a></div></div>
<div class="ttc" id="classChainLoader_html_abc9762fc07c51196df16f437342a13ef"><div class="ttname"><a href="classChainLoader.html#abc9762fc07c51196df16f437342a13ef">ChainLoader::DrawAndSaveAllBranches</a></div><div class="ttdeci">void DrawAndSaveAllBranches(Option_t *option=&quot;&quot;, const TString &amp;logScale=&quot;&quot;)</div><div class="ttdoc">Draw the distributions of all branches of the underlying TChain. </div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8cxx_source.html#l00180">ChainLoader.cxx:180</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_afc863db0f96ba89c94892e772fa18b6a"><div class="ttname"><a href="classBOSSOutputLoader.html#afc863db0f96ba89c94892e772fa18b6a">BOSSOutputLoader::DrawAndSaveAllBranches</a></div><div class="ttdeci">void DrawAndSaveAllBranches(const char *chainName, Option_t *option=&quot;&quot;, const TString &amp;logScale=&quot;&quot;)</div><div class="ttdoc">Draw the distributions of all branches available in the ROOT file. </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8cxx_source.html#l00387">BOSSOutputLoader.cxx:387</a></div></div>
<div class="ttc" id="classBOSSOutputLoader_html_a27d97a8c969aea30e646cf852667f942"><div class="ttname"><a href="classBOSSOutputLoader.html#a27d97a8c969aea30e646cf852667f942">BOSSOutputLoader::fChains</a></div><div class="ttdeci">std::unordered_map&lt; std::string, ChainLoader &gt; fChains</div><div class="ttdoc">Map of TChains of the loaded ROOT files (contained withing ChainLoader). </div><div class="ttdef"><b>Definition:</b> <a href="BOSSOutputLoader_8h_source.html#l00079">BOSSOutputLoader.h:79</a></div></div>
<div class="ttc" id="classChainLoader_html"><div class="ttname"><a href="classChainLoader.html">ChainLoader</a></div><div class="ttdoc">A container class for a TChain that allows easy access to its branches. </div><div class="ttdef"><b>Definition:</b> <a href="ChainLoader_8h_source.html#l00022">ChainLoader.h:22</a></div></div>
<div class="ttc" id="BOSSOutputLoader_8h_html"><div class="ttname"><a href="BOSSOutputLoader_8h.html">BOSSOutputLoader.h</a></div></div>
<div class="ttc" id="String_8h_html"><div class="ttname"><a href="String_8h.html">String.h</a></div></div>
<div class="ttc" id="structTableRow_html_a700b1f6632cd02a6246dc58eca1ebf1f"><div class="ttname"><a href="structTableRow.html#a700b1f6632cd02a6246dc58eca1ebf1f">TableRow::Name</a></div><div class="ttdeci">std::string Name</div><div class="ttdef"><b>Definition:</b> <a href="PrintTable_8h_source.html#l00030">PrintTable.h:30</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b9b4f4b00250c6904394903cddfd42b1.html">File</a></li><li class="navelem"><a class="el" href="BOSSOutputLoader_8cxx.html">BOSSOutputLoader.cxx</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
